Skip to content

feat: support runtime exclusive gateway - #183

Open
xgtcode wants to merge 1 commit into
volcengine:mainfrom
xgtcode:feat/runtime-exclusive-gateway-python
Open

feat: support runtime exclusive gateway#183
xgtcode wants to merge 1 commit into
volcengine:mainfrom
xgtcode:feat/runtime-exclusive-gateway-python

Conversation

@xgtcode

@xgtcode xgtcode commented Sep 8, 2026

Copy link
Copy Markdown

Summary

Support Runtime exclusive gateway configuration in the Python AgentKit SDK/CLI, aligned with the TS implementation.

Changes

  • Add Runtime gateway helpers for:
    • Shared / Exclusive normalization
    • create-time validation
    • immutable gateway binding checks
  • Extend Runtime SDK models with:
    • GatewayMode
    • GatewayInstanceId
    • GatewayInstanceName
  • Add CLI support:
    • agentkit config --runtime-gateway-mode/--runtime_gateway_mode
    • agentkit config --runtime-gateway-instance-id/--runtime_gateway_instance_id
    • agentkit runtime create --gateway-mode --gateway-instance-id
    • agentkit runtime list --gateway-mode --gateway-instance-id
  • Prevent unsupported Runtime updates through runtime update --json:
    • gateway mode
    • gateway instance
    • network configuration
  • Wire gateway config through cloud/hybrid lifecycle deployment.
  • Update EN/CN CLI docs.
  • Add focused unit tests for gateway validation, CLI behavior, config writing, and lifecycle runner payloads.

Validation

  • uv build --wheel
  • Installed the built wheel into a fresh venv and verified the real agentkit binary.
  • Verified config/help/local validation behavior via CLI.
  • Verified real cloud runtime list filtering with:
    • GatewayMode=Exclusive
    • GatewayInstanceId=g-daf7142bod1i4gosksu0
  • Created a real Exclusive Runtime via Python CLI, released it to Ready, checked:
    • /ping = 200
    • /health = 200
  • Deleted the smoke Runtime and confirmed it no longer exists.
  • uv run --with pytest pytest tests/toolkit/test_runtime_gateway.py tests/toolkit/runners/test_ve_agentkit_lifecycle.py tests/toolkit/cli/test_cli_runtime_network_config.py tests/toolkit/cli/test_cli_config_cloud_provider_noninteractive.py
    • 41 passed
  • uv run --with ruff ruff check --select F ...
    • passed
  • git diff --check
    • passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant